Using a Set Constraint Solver for Program Verification
نویسندگان
چکیده
{log} is a constraint solver for an expressive theory of finite unbounded sets and binary relations. It is a complete solver for an important fragment of formulas based on operators such as equality, membership, union, domain, composition, etc. where terms are finite unbounded extensional sets and binary relations. It is also a complete solver for formulas based on equality and membership where terms are extensional and restricted intensional sets. As such {log} can automatically prove a number of theorems of the theory of finite unbounded sets and relations. In turn, the theory of finite sets and relations is known to be a very good specification language for many programs. In this paper we show how {log} can be used as an effective tool for automatically discharging verification conditions produced during the formal functional verification of imperative programs. A case study shows the application of {log} to the verification of several list functions.
منابع مشابه
Side Channel Analysis Using a Model Counting Constraint Solver and Symbolic Execution (Invited Talk)
A crucial problem in software security is the detection of side-channels [5, 2, 7]. Information gained by observing non-functional properties of program executions (such as execution time or memory usage) can enable attackers to infer secret information (such as a password). In this talk, I will discuss how symbolic execution, combined with a model counting constraint solver, can be used for qu...
متن کاملBuilding flexible yet efficient abstraction/refinement solvers
This paper describes a method for combining “off-the-shelf” SAT and constraint solvers for building an efficient Satisfiability Modulo Theories (SMT) solver for a wide range of theories. Our method follows the abstraction/refinement approach to simplify the implementation of custom SMT solvers. The expected performance penalty by not using an interweaved combination of SAT and theory solvers is...
متن کاملSimulation of Strap-On Boosters Separation in the Atmosphere
A numerical dynamic-aerodynamic interface for simulating the separation dynamics of constrained strap-on boosters jettisoned in the atmosphere is presented. A 6-DOF multi body dynamic solver ،using Constraint Force Equation Methodology is coupled with a numerical time dependent Euler flow solver. An automatic dynamic mesh updating procedure is employed using smoothing and l...
متن کاملExtending a CP Solver with Congruences as Domains for Program Verification
Constraints generated for Program Verification tasks very often involve integer variables ranging on all the machine-representable integer values. Thus, if the propagation takes a time that is linear in the size of the domains, it will not reach a fix point in practical time. Indeed, the propagation time needed to reduce the interval domains for as simple equations as x = 2y + 1 and x = 2z is p...
متن کاملAn Incremental Approach to Scope-Bounded Checking Using a Lightweight Formal Method
We present a novel approach to optimize scope-bounded checking programs using a relational constraint solver. Given a program and its correctness specification, the traditional approach translates a bounded code segment of the entire program into a declarative formula and uses a constraint solver to search for any correctness violations. Scalability is a key issue with such approaches since for...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2017